package com.invernadero.invernaderotesis.Servicios.Services;

import java.util.List;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;

public class ServicioHelper {

	private Activity activity;
    private static ServicioHelper _referencia = null;
    
    private ServicioHelper(){
    	
    }
    
    
	/**
	 * Metodos de la clase
	 * 
	 * 
	 */
	
	public Activity getActivity() {
		return activity;
	}


	public void setActivity(Activity activity) {
		this.activity = activity;
	}


	/**
	 * Metodo Singlon de la clase "Servicio"
	 * @return Servicio
	 */
	public static ServicioHelper getInstance(){
		
		if (_referencia == null){
			return (_referencia = new ServicioHelper());
		}else{
			return (_referencia);
		}
	}
	/**
	 * Metodo para verificar si algun servicio esta corriendo desde la aplicacion
	 * @param nombreClaseServicio
	 * @return Boolean
	 */
	public boolean isServiceRunning(String nombreClaseServicio){
		
        ActivityManager activityManager = (ActivityManager) this.getActivity().getSystemService(Context.ACTIVITY_SERVICE);
        final List<RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);
        
        // recorremos la lista de los servicios activos en el dispositivo
        for (RunningServiceInfo runningServiceInfo : services) {
        	// si el nombre del servicio pasado por parametro esta en la lista de servicio retornamos "true"
            if (runningServiceInfo.service.getClassName().equals(nombreClaseServicio)){
                return true;
            }
        }
        return false;
     }
}
